package io.renren.constant;

/**
 * Created by ThinkPad on 2018/11/30.
 */
public enum PointsType {
    兑换("1000",PointsObject.兑换),
    普通会员注册("1001",PointsObject.普通会员注册),
    普通用户升级为VIP("1002",PointsObject.普通用户升级为VIP),
    邀请用户下载并注册("1101",PointsObject.邀请用户下载并注册),
    VIP用户生日送积分("1201",PointsObject.VIP用户生日送积分),
    签到("2001",PointsObject.签到),
    签到满一月("2002",PointsObject.签到满一月),
    阅读推送消息("3001",PointsObject.阅读推送消息),
    分享菏易行APP到朋友圈("4001",PointsObject.分享菏易行APP到朋友圈),
    阅读消息并分享至朋友圈("4002",PointsObject.阅读消息并分享至朋友圈),
    将新闻公告板块文章分享至朋友圈("4003",PointsObject.将新闻公告板块文章分享至朋友圈),
    重大提醒或重大活动文章分享至朋友圈("4004",PointsObject.重大提醒或重大活动文章分享至朋友圈),
    通过APP实现缴费赠送积分("5001",PointsObject.通过APP实现缴费赠送积分),
    上传举报("6001",PointsObject.上传举报),
    上传举报被采用("6002",PointsObject.上传举报被采用),
    民意反馈提出一条建议("7001",PointsObject.民意反馈提出一条建议),
    民意反馈被采纳("7002",PointsObject.民意反馈被采纳),
    民意反馈每反映一条问题("7003",PointsObject.民意反馈每反映一条问题),
    按照要求完整参加并审核通过奖励("8001",PointsObject.按照要求完整参加并审核通过奖励),
    在APP预约并按要求到现场学习("8002",PointsObject.在APP预约并按要求到现场学习),
    在app预约审车成功又取消("9001",PointsObject.在app预约审车成功又取消),
    在app预约审车即没有及时取消也没有到现场("9002",PointsObject.在app预约审车即没有及时取消也没有到现场);

    private String code;

    private PointsObject pointsObject;

    PointsType(String code, PointsObject pointsObject) {
        this.code = code;
        this.pointsObject = pointsObject;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public PointsObject getPointsObject() {
        return pointsObject;
    }

    public void setPointsObject(PointsObject pointsObject) {
        this.pointsObject = pointsObject;
    }


    /**
     * 内部类，存储操作类型相关的操作内容描述和积分
     */
    public enum PointsObject{
        兑换("兑换",0),
        普通会员注册("普通会员注册",100),
        普通用户升级为VIP("普通用户升级为VIP",100),
        邀请用户下载并注册("邀请用户下载并注册",50),
        VIP用户生日送积分("VIP用户生日送积分",100),
        签到("签到",5),
        签到满一月("签到满一月",100),
        阅读推送消息("阅读推送消息",5),
        分享菏易行APP到朋友圈("分享菏易行APP到朋友圈",20),
        阅读消息并分享至朋友圈("阅读消息并分享至朋友圈",5),
        将新闻公告板块文章分享至朋友圈("将新闻公告板块文章分享至朋友圈",10),
        重大提醒或重大活动文章分享至朋友圈("重大提醒或重大活动文章分享至朋友圈",20),
        通过APP实现缴费赠送积分("通过APP实现缴费赠送积分",0),
        上传举报("上传举报",20),
        上传举报被采用("上传举报被采用",200),
        民意反馈提出一条建议("民意反馈提出一条建议",10),
        民意反馈被采纳("民意反馈被采纳",20),
        民意反馈每反映一条问题("民意反馈每反映一条问题",10),
        按照要求完整参加并审核通过奖励("按照要求完整参加并审核通过奖励",50),
        在APP预约并按要求到现场学习("在APP预约并按要求到现场学习",0),
        在app预约审车成功又取消("在app预约审车成功又取消",-10),
        在app预约审车即没有及时取消也没有到现场("在app预约审车即没有及时取消也没有到现场",-20);

       private String typeName;

       private int points;

       PointsObject(String name,int points){
           this.typeName = name;
           this.points=points;
       }

        public String getTypeName() {
            return typeName;
        }

        public void setTypeName(String typeName) {
            this.typeName = typeName;
        }

        public int getPoints() {
            return points;
        }

        public void setPoints(int points) {
            this.points = points;
        }

        public String getPointsName(){
            return this.typeName + ",赠送%1$d积分";
        }
    }
}

